﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace rbdesign.Controller
{
    class ControllerUser
    {

        public static List<string> fFillUserComboBox()
        {
            List<string> list = Model.ModelUser.fGetUsernamesList();
            list.Insert(0, "Choose:");
            return list;
        }

        public static int fCreateNewUser(string _username, string _password, string _email, string _birthdate, char _sex, string _interests)
        {
            if (_username == "")
                return 2;
            if (_password == "")
                return 3;
            if (_email == "")
                return 4;
            if (_birthdate == "")
                return 5;
            if (_sex.Equals(null))
                return 6;

            List<string> list = Model.ModelUser.fGetUsernamesList();
            if (list.Contains(_username))
                return 1;

            Model.ModelUser.fAddUser(_username,_password,_email,_birthdate,_sex,_interests);

            return 0;
        }

        public static string fCreateNewUserMessage(int code)
        {
            if (code == 0)
                return "המשתמש נוסף בהצלחה";
            if (code == 1)
                return "שם המשתמש שהוזן כבר קיים. אנא בחר שם אחר";
            if (code == 2)
                return "לא הוזן שם משתמש";
            if (code == 3)
                return "לא הוזנה סיסמה";
            if (code == 4)
                return "לא הוזנה כותב דואר אלקטרוני";
            if (code == 5)
                return "לא הוזן תאריך לידה";
            if (code == 6)
                return "לא הוזן מין";
            if (code == 7)
                return "שם המשתמש שהוזן לא קיים במערכת";
            if (code == 8)
                return "חשבון המשתמש נערך בהצלחה";
            else
                return "";
        }

        public static int fEditUserDetails(string _username, string _password, string _email, string _birthdate, char _sex, string _interests)
        {
            if (_username == "" || _username == "Choose:")
                return 2;
            if (_password == "")
                return 3;
            if (_email == "")
                return 4;
            if (_birthdate == "")
                return 5;
            if (_sex.Equals(null))
                return 6;

            List<string> list = Model.ModelUser.fGetUsernamesList();
            if (!list.Contains(_username))
                return 7;

            Model.ModelUser.fEditUser(_username, _password, _email, _birthdate, _sex, _interests);
            return 8;
        }

        public static int fDeleteUser(string _username)
        {
            if (_username == "" || _username == "Choose:")
                return 1;
            
            List<string> list = Model.ModelUser.fGetUsernamesList();
            if (!list.Contains(_username))
                return 2;

            Model.ModelUser.fDeleteUser(_username);
            return 0;
        }

        public static string fDeleteUserMessage(int code)
        {
            if (code == 0)
                return "המשתמש נמחק בהצלחה";
            if (code == 1)
                return "לא נבחר שם משתמש";
            if (code == 2)
                return "המשתמש שנבחר לא קיים";
            else
                return "";
        }

        public static Model.User fGetUserDetails(string _username)
        {
            return Model.ModelUser.fGetUserDetailsSingle(_username);
        }
    }
}
